home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Collections: Purity
/
Purity #34 (1994-08)(Diesel)(DE)[WB].zip
/
Purity #34 (1994-08)(Diesel)(DE)[WB].adf
/
DiskLabel
/
DiskLabel1.03.p
< prev
next >
Wrap
Text File
|
1994-08-06
|
22KB
|
648 lines
{ DiskLabel: schnelles und nettes Bedrucken von 3.5" 70x69 Disketten-
etiketten. (fontsensitiv...)
Das Programm ist FREEWARE.
Es müssen folgenden Datein, inkl. deren Icons enthalten sein:
DiskLabel, DiskLabel.dok, DiskLabel.p (nur Purity)
Erstellt mit KickPascal 2.12 / OS2-Includes von Maxon Computer GmbH
Programmierer: Falk Zühlsdorff (PackMAN)
Lindenberg 66
98693 Ilmenau / Thüringen }
PROGRAM dl;
USES REQTOOLS4,GADTOOLS,BATTCLOCKLIGHT,PrtChk;
{$ incl "dos.lib"};
TYPE Tagtype = array[0..4] OF TagItem;
GTagtype = array[0..11] OF TagType;
strtype = string[300];
CTextType = array[0..28] OF String[14];
VAR PScr : p_screen; {PublicScreen}
Pubscrname : string[10];STATIC;
drawinfo : p_drawinfo; {dessen Drawinfo}
txattr : TextAttr;
font : p_textfont;
ysize,ScrTextFont,
baseline,rem : word;STATIC;
Wbr : integer;STATIC;
ourfont,RT,mIDCMP : long;STATIC;
ALLOK,ex,help,
Vorab,StrAkt : boolean;STATIC;
Win : ^Window;
RP : ^RastPort;
msg : ^IntuiMessage;
akt : ^Gadget;
NWTags : array[1..12] OF tagitem;STATIC;
titel,fontname : string;STATIC;
pgad,glist : p_Gadget;
vi : PTR;
chNr1,chNr2,i,
cycleNr : byte;STATIC;
{****************}
ng : NewGadget;STATIC;
g : array[0..15] OF p_Gadget;STATIC;
GTags : array[0..2] OF TagItem;STATIC;
Tags : GTagType;STATIC;
CyTx : CTextType;STATIC;
CyLa : array[0..28] of string[3];STATIC;
cfeld : array[0..29] OF STR; {@-Gad}
STx : array[0..9] OF string[36];STATIC;
sig : ^stringinfo;
Code : Byte;
gedr1,gedr2 : boolean;
{-------------------------------------------------------------------------}
PROCEDURE abschalten;
BEGIN
mIDCMP:=Win^.IDCMPFlags;
help:=ModifyIDCMP(Win,0);
rem:=RemoveGList(Win,g[0],16);
END;
{-------------------------------------------------------------------------}
PROCEDURE zuschalten;
BEGIN
help:=ModifyIDCMP(Win,mIDCMP);
rem:=AddGList(Win,g[0],0,16,nil);
END;
{-------------------------------------------------------------------------}
FUNCTION RTReq(Titel,Text,gadtx:string,Pos:byte):long;
VAR tags : array[0..7] of tagitem;STATIC;
BEGIN
Tags[0]:=TagItem(RTEZ_Reqtitle,Long(^titel));
Tags[1]:=TagItem(RTGS_GadFmt,long(^gadtx));
Tags[2]:=TagItem(RT_UnderScore,long('_'));
Tags[3]:=TagItem(RTGS_BackFill,long(false));
Tags[4]:=TagItem(RT_ReqPos,Pos);
Tags[5]:=TagItem(RTGS_Flags,GSREQF_CENTERTEXT or GSREQF_HIGHLIGHTTEXT);
Tags[6]:=TagItem(RT_Window,long(Win));
Tags[7].ti_tag:=Tag_END;
RTReq:=rtEZRequestA(^Text,^gadtx,NIL,NIL,^Tags[0]);
END;
{-------------------------------------------------------------------------}
FUNCTION RTReq2(Titel:string,Text:strtype,gadtx:string,Pos,left,
top:long):long;
VAR tags : array[0..10] of tagitem;STATIC;
BEGIN
Tags[0]:=TagItem(RTEZ_Reqtitle,Long(^titel));
Tags[1]:=TagItem(RTGS_GadFmt,long(^gadtx));
Tags[2]:=TagItem(RT_UnderScore,long('_'));
Tags[3]:=TagItem(RTGS_BackFill,long(false));
Tags[4]:=TagItem(RT_ReqPos,Pos);
Tags[5]:=TagItem(RT_LeftOffset,left);
Tags[6]:=TagItem(RT_TopOffset,top);
Tags[7]:=TagItem(RT_TextAttr,long(^txattr));
Tags[8]:=TagItem(RTGS_Flags,GSREQF_CENTERTEXT or GSREQF_HIGHLIGHTTEXT);
Tags[9]:=TagItem(RT_Window,long(Win));
Tags[10].ti_tag:=Tag_END;
RTReq2:=rtEZRequestA(^Text,^gadtx,NIL,NIL,^Tags[0]);
END;
{-------------------------------------------------------------------------}
PROCEDURE Topaz8;
BEGIN
fontname:='topaz.font';
ysize:=8;
WBr:=8;
txattr:=TextAttr(fontname,ysize,0,0);
Font:=OpenFont(^txattr);
END;
{-------------------------------------------------------------------------}
PROCEDURE InfoLine;
CONST up:=chr(10);
BEGIN
abschalten;
RT:=RTReq2('Information',
'Etikettendruck (3.5"/ 70x69 mm)'+up+up+
'Erstellt in KickPascal 2.12/OS2'+up+up+
'FREEWARE'+up+up+
'© & P by PackMAN'+up+
'c/o Falk Zühlsdorff'+up+
'Lindenberg 66'+up+
'D-98693 Ilmenau / Thüringen'+up+up+
'Reqtools.library © by N.François',
'_OK',5,Win^.LeftEdge+Wbr+Round(Wbr/2),Win^.Topedge+3*ysize);
zuschalten;
END;
{-------------------------------------------------------------------------}
PROCEDURE Neu;
BEGIN
STx[0]:='';
STx[9]:='';
FOR i:=2 TO 7 DO STx[i]:='';
GT_SetGadgetAttrsA(g[0],Win,NIL,^Tags[0,3]);
FOR i:=2 TO 7 DO GT_SetGadgetAttrsA(g[i],Win,NIL,^Tags[i,3]);
GT_SetGadgetAttrsA(g[9],Win,NIL,^Tags[9,3]);
END;
{-------------------------------------------------------------------------}
PROCEDURE GetStrGaddata; {my fantastic methode}
BEGIN
FOR i:=0 TO 9 DO
BEGIN
sig:=g[i]^.SpecialInfo;
STx[i]:=sig^.buffer;
END;
END;
{------------------------------------------------------------------------}
PROCEDURE Druck;
CONST ESC:=CHR(27);
Test:='PRT:';
VAR LST : text;STATIC;
outfile : BPTR;STATIC;
anzahl,abc,
RTPl,x,j : long;STATIC;
strg : String[2];STATIC;
FUNCTION check:boolean;
VAR ok:byte;STATIC;
BEGIN
ok:=CheckPrt;
IF ok=0
THEN check:=true
ELSE
BEGIN
check:=false;
CASE ok OF
1: RT:=RTReq('DiskLabel',
'Drucker: offline','_JA',Reqpos_TopleftScr);
2: RT:=RTReq('DiskLabel',
'Drucker: kein Papier','_JA',Reqpos_TopleftScr);
3: RT:=RTReq('DiskLabel',
'Drucker: offline/kein Papier','_JA',
Reqpos_TopleftScr);
ELSE;END;
zuschalten;
END;
END;
{---OF Druck----}
BEGIN
abschalten;
GetStrGaddata;
RTPl:=RTReq('DiskLabel',
'Drucken mit NLQ','_JA|_Nein',Reqpos_Pointer);
IF NOT Check THEN EXIT;
strg:=' ';
outfile:=Open(Test,Mode_OLDFILE); {Drucker ansprechen}
IF outfile<>0 THEN
BEGIN
anzahl:=dosWrite(outfile,^strg,3); {Online okay ... Test2 for fucking }
IF anzahl=3 THEN {Printers,like mine C=1550C}
BEGIN
abc:=DOSClose(outfile);
Rewrite(LST,'PRT:');
IF IOResult=0
THEN
BEGIN
write(LST,ESC,'#1',ESC,'[1z',ESC,'[1p'); {init+1/6"}
IF RTPl=1 THEN write(LST,ESC,'[2"z')
ELSE write(LST,ESC,'[1"z');
write(LST,ESC,'[4w',ESC,'[2v'); {superscript}
IF (chNr2=1) AND (STx[9]<>'')
THEN
BEGIN
x:=34-strlen(STx[0]);
write(LST,STx[0]);
FOR i:=0 TO x DO write(LST,' '); {Kante}
writeln(LST,'Nr: ',STx[9]);
END
ELSE writeln(LST,STx[0]);
writeln(LST,ESC,'[3w',ESC,'[1v',ESC,'[6w');
x:=TRUNC((13-strlen(STx[1]))/2); {Verwendung}
FOR i:=1 TO x DO write(LST,' ');
writeln(LST,STx[1]);
writeln(LST);
write(LST,ESC,'[5w',ESC,'[0w',ESC,'[1w');
FOR i:=2 TO 7 DO
BEGIN
IF STx[i]<>''
THEN
BEGIN
x:=TRUNC((25-strlen(STx[i]))/2); {Zeile 1..6}
FOR j:=1 TO x DO write(LST,' ');
writeln(LST,STx[i]);
END
ELSE
writeln(LST);
END;
writeln(LST);
IF (chNr2=1) AND (STx[9]<>'')
THEN
BEGIN
IF chNr1=1
THEN
BEGIN
x:=17-strlen(STx[8]); {Date}
write(LST,STx[8]);
FOR i:=1 TO x DO write(LST,' ');
END
ELSE write(LST,' ');
writeln(LST,'Nr: ',STx[9]); {Nr}
END
ELSE
writeln(LST,STx[8]);
Close(LST);
END;
END;
END;
zuschalten;
END;
{-------------------------------------------------------------------------}
PROCEDURE cycle(taste:byte);
BEGIN
IF gedr1 OR gedr2
THEN
IF cycleNr=0 THEN cycleNr:=28
ELSE DEC(cycleNr)
ELSE
IF cycleNr=28 THEN cycleNr:=0
ELSE INC(cycleNr);
IF taste=1 THEN
BEGIN
Tags[10]:=TagItem(GTCY_Active,cycleNr);
GT_SetGadgetAttrsA(g[13],Win,NIL,^Tags[10]);
END;
STx[1]:=CyTx[cycleNr];
GT_SetGadgetAttrsA(g[1],Win,NIL,^Tags[1,3]);
END;
{-------------------------------------------------------------------------}
PROCEDURE Ende;
BEGIN
abschalten;
RT:=RTReq('DiskLabel',
'Programm beenden ?','_JA|_Zurück',Reqpos_Pointer);
IF RT=1 THEN ex:=true;
zuschalten;
END;
{-------------------------------------------------------------------------}
PROCEDURE InitWin;
BEGIN
ALLOK:=false;
Vorab:=false;
PScr:=NIL;
pubscrname:='Workbench';
PScr:=lockpubscreen(pubscrname);
IF PScr<>NIL THEN
BEGIN
drawinfo:=getscreendrawinfo(PScr);
IF drawinfo<>NIL THEN
BEGIN
font:=drawinfo^.dri_font;
ysize:=font^.tf_ysize;
ScrTextFont:=ysize;
baseline:=font^.tf_baseline;
Wbr:=textlength(^PScr^.rastport,'W',1);
vi:=GetVisualinfoA(PScr,nil);
IF (Wbr*44>Pscr^.width) OR (25*ysize>Pscr^.height) THEN VORAB:=true;
freescreendrawinfo(PScr,drawinfo);
UnlockPubScreen(NIL,PScr);
Pgad:=NIL;
Pgad:=CreateContext(^Glist);
IF pgad<>nil
THEN
BEGIN
fontname:=drawinfo^.dri_font^.tf_Message.mn_Node.ln_Name;
txattr:=TextAttr(fontname,ysize,0,0);
IF Vorab THEN
BEGIN
RT:=RTReq('DiskLabel',
'Ungünstiges Verhältnis'\10'Screenfont : Screengröße',
'_Topaz 8|_Ende',ReqPos_TopLeftScr); {4}
IF RT=1 THEN topaz8
ELSE
BEGIN
FreeGadgets(glist);
FreeVisualInfo(vi);
CloseSomeLibs;
CloseLib(Gadtoolsbase);
help:=CloseUtility;
exit;
END;
END;
ALLOK:=true;
END;
IF ALLOK=false
THEN
BEGIN
RT:=RTReq('DiskLabel','Kann Programm nicht starten.',
'_Argh',ReqPos_TopLeftScr);
exit;
END;
CyTx:=CTextType('',
'Programmieren','Source .p','Source .c','Source .asm',
'Graphik','Public Domain','PD/FD/SW/GW','Text / DTP',
'Utilities','Tools','Anwendung','Kalkulation',
'Datenbank','Daten','Demo','Sound',
'Module','Disk Mag','Game','Adventure',
'Rollenspiel','Action','Unterhaltung','Simulation',
'Sportspiel','Amiga','IBM-PC','Apple-Mac');
FOR i:=0 TO 28 DO
BEGIN
IF i<10 THEN CyLa[i]:='0'+Intstr(i)
ELSE CyLa[i]:=Intstr(i);
cfeld[i]:=^CyLa[i];
END;
cfeld[29]:=NIL;
STx[1]:=CyTx[0];
Tags:=GTagType(TagType(TagItem(GT_Underscore,ord('_')),
TagItem(GTST_MaxChars,33), {Kante}
TagItem(GA_TabCycle,ord(true)), {0}
TagItem(GTST_String,long(^STx[0])),
TagItem(Tag_Done,0)),
TagType(TagItem(GT_Underscore,ord('_')),
TagItem(GTST_MaxChars,13), {Verwendung}
TagItem(GA_TabCycle,ord(true)), {1}
TagItem(GTST_String,long(^STx[1])),
TagItem(Tag_Done,0)),
TagType(TagItem(GT_Underscore,ord('_')),
TagItem(GTST_MaxChars,25), {Zeile 1}
TagItem(GA_TabCycle,ord(true)), {2}
TagItem(GTST_String,long(^STx[2])),
TagItem(Tag_Done,0)),
TagType(TagItem(GT_Underscore,ord('_')),
TagItem(GTST_MaxChars,25), {Zeile 2}
TagItem(GA_TabCycle,ord(true)), {3}
TagItem(GTST_String,long(^STx[3])),
TagItem(Tag_Done,0)),
TagType(TagItem(GT_Underscore,ord('_')),
TagItem(GTST_MaxChars,25), {Zeile 3}
TagItem(GA_TabCycle,ord(true)), {4}
TagItem(GTST_String,long(^STx[4])),
TagItem(Tag_Done,0)),
TagType(TagItem(GT_Underscore,ord('_')),
TagItem(GTST_MaxChars,25), {Zeile 4}
TagItem(GA_TabCycle,ord(true)), {5}
TagItem(GTST_String,long(^STx[5])),
TagItem(Tag_Done,0)),
TagType(TagItem(GT_Underscore,ord('_')),
TagItem(GTST_MaxChars,25), {Zeile 5}
TagItem(GA_TabCycle,ord(true)), {6}
TagItem(GTST_String,long(^STx[6])),
TagItem(Tag_Done,0)),
TagType(TagItem(GT_Underscore,ord('_')),
TagItem(GTST_MaxChars,25), {Zeile 6}
TagItem(GA_TabCycle,ord(true)), {7}
TagItem(GTST_String,long(^STx[7])),
TagItem(Tag_Done,0)),
TagType(TagItem(GT_Underscore,ord('_')),
TagItem(GTST_MaxChars,10), {Date}
TagItem(GA_TabCycle,ord(true)), {8}
TagItem(GTST_String,long(^STx[8])),
TagItem(Tag_Done,0)),
TagType(TagItem(GT_Underscore,ord('_')),
TagItem(GTST_MaxChars,4), {Disk_Nr}
TagItem(GA_TabCycle,ord(true)), {9}
TagItem(GTST_String,long(^STx[9])),
TagItem(Tag_Done,0)),
TagType(TagItem(GTCY_Active,0),
TagItem(GTCY_LABELS,long(^cfeld)),
TagItem(GT_Underscore,ord('_')),
TagItem(Tag_Done,0), {@ 10}
TagItem(Tag_Done,0)), {wegen Array}
TagType(TagItem(GT_Underscore,ord('_')),
TagItem(GTCB_Checked,ord(true)),
TagItem(tag_done,0), {Checkboxes}
TagItem(GTCB_Checked,ord(false)), { 11 }
TagItem(tag_done,0)));
GTags[0]:=TagItem(GT_Underscore,ord('_'));
GTags[1].ti_Tag:=Tag_Done;
STx[1]:=CyTx[0];
ng:=NewGadget(14*Wbr,ScrTextFont+ysize,28*Wbr,ysize+6,'_Kante:',
^txattr,0,PLACETEXT_LEFT,vi,nil);
pgad:=CreateGadgetA(STRING_KIND,pgad,^ng,^Tags[0]);
g[0]:=pgad;
ng.ng_TopEdge:=ScrTextFont+3*ysize;
ng.ng_GadgetID:=1;
ng.ng_GadgetText:='_Verwendung:';
ng.ng_width:=16*wbr;
pgad:=CreateGadgetA(STRING_KIND,pgad,^ng,^Tags[1]);
g[1]:=pgad;
ng.ng_TopEdge:=ScrTextFont+5*ysize;
ng.ng_GadgetID:=2;
ng.ng_Width:=28*wbr;
ng.ng_GadgetText:='Zeile _1:';
pgad:=CreateGadgetA(STRING_KIND,pgad,^ng,^Tags[2]);
g[2]:=pgad;
ng.ng_TopEdge:=ScrTextFont+7*ysize;
ng.ng_GadgetID:=3;
ng.ng_GadgetText:='Zeile _2:';
pgad:=CreateGadgetA(STRING_KIND,pgad,^ng,^Tags[3]);
g[3]:=pgad;
ng.ng_TopEdge:=ScrTextFont+9*ysize;
ng.ng_GadgetID:=4;
ng.ng_GadgetText:='Zeile _3:';
pgad:=CreateGadgetA(STRING_KIND,pgad,^ng,^Tags[4]);
g[4]:=pgad;
ng.ng_TopEdge:=ScrTextFont+11*ysize;
ng.ng_GadgetID:=5;
ng.ng_GadgetText:='Zeile _4:';
pgad:=CreateGadgetA(STRING_KIND,pgad,^ng,^Tags[5]);
g[5]:=pgad;
ng.ng_TopEdge:=ScrTextFont+13*ysize;
ng.ng_GadgetID:=6;
ng.ng_GadgetText:='Zeile _5:';
pgad:=CreateGadgetA(STRING_KIND,pgad,^ng,^Tags[6]);
g[6]:=pgad;
ng.ng_TopEdge:=ScrTextFont+15*ysize;
ng.ng_GadgetID:=7;
ng.ng_GadgetText:='Zeile _6:';
pgad:=CreateGadgetA(STRING_KIND,pgad,^ng,^Tags[7]);
g[7]:=pgad;
ng.ng_TopEdge:=ScrTextFont+17*ysize;
ng.ng_GadgetID:=8;
ng.ng_Width:=13*wbr;
ng.ng_GadgetText:='D_atum:';
pgad:=CreateGadgetA(STRING_KIND,pgad,^ng,^Tags[8]);
g[8]:=pgad;
ng.ng_TopEdge:=ScrTextFont+19*ysize;
ng.ng_GadgetID:=9;
ng.ng_Width:=7*wbr;
ng.ng_GadgetText:='Di_sk-Nr:';
pgad:=CreateGadgetA(STRING_KIND,pgad,^ng,^Tags[9]);
g[9]:=pgad;
ng:=NewGadget(14*WBr,ScrTextFont+22*ysize,8*Wbr,ysize+6,'_Info',
^txattr,10,PLACETEXT_IN,vi,nil);
pgad:=CreateGadgetA(BUTTON_KIND,pgad,^ng,^GTags[0]);
g[10]:=pgad;
ng.ng_LeftEdge:=24*Wbr;
ng.ng_GadgetID:=11;
ng.ng_GadgetText:='_Druck';
pgad:=CreateGadgetA(BUTTON_KIND,pgad,^ng,^GTags[0]);
g[11]:=pgad;
ng.ng_LeftEdge:=34*Wbr;
ng.ng_GadgetID:=12;
ng.ng_GadgetText:='_Neu';
pgad:=CreateGadgetA(BUTTON_KIND,pgad,^ng,^GTags[0]);
g[12]:=pgad;
ng:=NewGadget(32*Wbr,ScrTextFont+3*ysize,7*Wbr,ysize+6,'_W',
^txattr,13,PLACETEXT_RIGHT,vi,nil);
pgad:=CreateGadgetA(CYCLE_KIND,pgad,^ng,^Tags[10]);
g[13]:=pgad;
ng:=NewGadget(32*Wbr,ScrTextFont+17*ysize+ROUND((ysize-5)/2),Wbr,
ysize+6,'_T',^txattr,14,PLACETEXT_RIGHT,vi,nil);
pgad:=CreateGadgetA(CHECKBOX_KIND,pgad,^ng,^Tags[11]);
g[14]:=pgad;
ng.ng_TopEdge:=ScrTextFont+19*ysize+ROUND((ysize-5)/2);
ng.ng_GadgetID:=15;
ng.ng_GadgetText:='_R';
pgad:=CreateGadgetA(CHECKBOX_KIND,pgad,^ng,^Tags[11]);
g[15]:=pgad;
titel:='DiskLabel 1.03 (28.06.94)';
NWTags[1] :=Tagitem(wa_top,0);
NWTags[2] :=Tagitem(wa_left,0);
NWTags[3] :=Tagitem(wa_width,44*Wbr);
NWTags[4] :=Tagitem(wa_height,ScrTextFont+25*ysize);
NWTags[5] :=Tagitem(wa_activate,ord(true));
NWTags[6] :=Tagitem(wa_smartrefresh,ord(true));
NWTags[7] :=Tagitem(wa_rmbtrap,ord(true));
NWTags[8] :=Tagitem(wa_title,long(^titel));
NWTags[9]:=Tagitem(wa_Flags,WFLG_CLOSEGADGET+WFLG_DEPTHGADGET+
WFLG_DRAGBAR);
NWTags[10]:=Tagitem(wa_idcmp,IDCMP_GADGETUP+IDCMP_RAWKEY+
IDCMP_CLOSEWINDOW);
NWTags[11] :=Tagitem(wa_Gadgets,long(glist));
NWTags[12].ti_tag:=tag_done;
Win:=openwindowtaglist(nil,^NWTags[1]);
IF Win<>NIL THEN
BEGIN
RP:=Win^.RPort;
ourfont:=setfont(RP,font);
ex:=false;
gedr1:=false;
gedr2:=false;
REPEAT
Msg:=Wait_Port(Win^.UserPort);
Msg:=GT_GetIMsg(Win^.UserPort);
Code:=Msg^.Code;
IF Msg<>NIL THEN
BEGIN
GT_ReplyIMsg(Msg);
CASE Msg^.Class OF
IDCMP_CLOSEWINDOW: Ende;
IDCMP_GADGETUP:
BEGIN
Akt:=Msg^.IAddress;
CASE AKT^.GADGETID OF
0..8: strakt:=ACTIVATEGADGET(g[AKT^.GADGETID+1],Win,NIL);
10: InfoLine;
11: Druck;
12: Neu;
13: Cycle(2);
14: IF chNr1=1 THEN DEC(chNR1) ELSE INC(chNr1); { Checkbox D }
15: IF chNr2=1 THEN DEC(chNR2) ELSE INC(chNr2); { Checkbox N }
ELSE;END;
END;
IDCMP_RAWKEY:
BEGIN
CASE (Code AND $7f) OF
$60: IF (Code AND $80)=0
THEN gedr1:=true ELSE gedr1:=false;
$61: IF (Code AND $80)=0
THEN gedr2:=true ELSE gedr2:=false;
ELSE
CASE Msg^.code OF
$27: strakt:=ACTIVATEGADGET(g[0],Win,NIL); {K Kante}
$34: strakt:=ACTIVATEGADGET(g[1],Win,NIL); {V Verw.}
$01: strakt:=ACTIVATEGADGET(g[2],Win,NIL); {1 Z1}
$02: strakt:=ACTIVATEGADGET(g[3],Win,NIL); {2 Z2}
$03: strakt:=ACTIVATEGADGET(g[4],Win,NIL); {3 Z3}
$04: strakt:=ACTIVATEGADGET(g[5],Win,NIL); {4 Z4}
$05: strakt:=ACTIVATEGADGET(g[6],Win,NIL); {5 Z5}
$06: strakt:=ACTIVATEGADGET(g[7],Win,NIL); {6 Z6}
$20: strakt:=ACTIVATEGADGET(g[8],Win,NIL); {A Datum}
$21: strakt:=ACTIVATEGADGET(g[9],Win,NIL); {S Disk-Nr}
$11: Cycle(1); { W.}
$14: BEGIN { T }
IF chNr1=1 THEN DEC(chNR1) ELSE INC(chNr1);
IF chNr1=1
THEN GT_SetGadgetAttrsA(g[14],Win,NIL,^Tags[11,1])
ELSE GT_SetGadgetAttrsA(g[14],Win,NIL,^Tags[11,3]);
END;
$13: BEGIN { R }
IF chNr2=1 THEN DEC(chNR2) ELSE INC(chNr2);
IF chNr2=1
THEN GT_SetGadgetAttrsA(g[15],Win,NIL,^Tags[11,1])
ELSE GT_SetGadgetAttrsA(g[15],Win,NIL,^Tags[11,3]);
END;
$17: InfoLine; { I }
$36: Neu; { N }
$22: Druck; { D }
$10, {Q/E/ESC}
$12,
$45: Ende;
ELSE;END;
END; {of äußeres CASE OF}
END;
ELSE;END;
END;
UNTIL ex;
CloseWindow(Win);
END
ELSE RT:=RTReq('DiskLabel','Kann Oberfläche nicht darstellen.',
'_Argh',ReqPos_TopLeftScr);
FreeGadgets(glist);
FreeVisualInfo(vi);
CloseSomeLibs;
CloseLib(Gadtoolsbase);
help:=CloseUtility;
END;
END;
END;
{********************************** MAIN *********************************}
BEGIN
cycleNr:=0;
chNr1:=1;chNr2:=1;
FOR i:=0 TO 9 DO STx[i]:='';
help:=getbattclockL;
IF battclockdate<>'' THEN STx[8]:=battclockdate;
InitWin;
END.